# SPDX-License-Identifier: GPL-2.0-only
config SND_EP93XX_SOC
	tristate "SoC Audio support for the Cirrus Logic EP93xx series"
	depends on ARCH_EP93XX || COMPILE_TEST
	select SND_SOC_GENERIC_DMAENGINE_PCM
	help
	  Say Y or M if you want to add support for codecs attached to
	  the EP93xx I2S or AC97 interfaces.

config SND_EP93XX_SOC_I2S
	tristate

if SND_EP93XX_SOC_I2S

config SND_EP93XX_SOC_I2S_WATCHDOG
	bool "IRQ based underflow watchdog workaround"
	default y
	help
	  I2S controller on EP93xx seems to have undocumented HW issue.
	  Underflow of internal I2S controller FIFO could confuse the
	  state machine and the whole stream can be shifted by one byte
	  until I2S is disabled. This option enables IRQ based watchdog
	  which disables and re-enables I2S in case of underflow and
	  fills FIFO with zeroes.

	  If you are unsure how to answer this question, answer Y.

endif # if SND_EP93XX_SOC_I2S

config SND_EP93XX_SOC_AC97
	tristate
	select AC97_BUS
	select SND_SOC_AC97_BUS

config SND_EP93XX_SOC_SNAPPERCL15
	tristate "SoC Audio support for Bluewater Systems Snapper CL15 module"
	depends on SND_EP93XX_SOC && MACH_SNAPPER_CL15 && I2C
	select SND_EP93XX_SOC_I2S
	select SND_SOC_TLV320AIC23_I2C
	help
	  Say Y or M here if you want to add support for I2S audio on the
	  Bluewater Systems Snapper CL15 module.

config SND_EP93XX_SOC_SIMONE
	tristate "SoC Audio support for Simplemachines Sim.One board"
	depends on SND_EP93XX_SOC && MACH_SIM_ONE
	select SND_EP93XX_SOC_AC97
	select SND_SOC_AC97_CODEC
	help
	  Say Y or M here if you want to add support for AC97 audio on the
	  Simplemachines Sim.One board.

config SND_EP93XX_SOC_EDB93XX
	tristate "SoC Audio support for Cirrus Logic EDB93xx boards"
	depends on SND_EP93XX_SOC && (MACH_EDB9301 || MACH_EDB9302 || MACH_EDB9302A || MACH_EDB9307A || MACH_EDB9315A)
	select SND_EP93XX_SOC_I2S
	select SND_SOC_CS4271_I2C if I2C
	select SND_SOC_CS4271_SPI if SPI_MASTER
	help
	  Say Y or M here if you want to add support for I2S audio on the
	  Cirrus Logic EDB93xx boards.
